/*-------------------------------------------------------------------------
 *
 * keywords.c
 *	  关键字的词法标记查找
 *
 *
 * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 *
 * IDENTIFICATION
 *	  src/interfaces/ecpg/preproc/keywords.c
 *
 *-------------------------------------------------------------------------
 */
#include "postgres_fe.h"

/*
 * 这比看起来要棘手得多。我们正在包含 kwlist.h，
 * 但是进入表中的标记编号来自 preproc.h，
 * 而不是后端的 gram.h。因此，这个标记表将与
 * common/keywords.c 中提供的 ScanKeywords 表匹配，包括所有
 * 后端已知的关键字，但它将提供 ecpg 的语法使用的标记编号，
 * 这是我们所需要的。ecpg 语法必须定义所有与后端相同的标记名称，
 * 否则我们将在此编译中遇到未定义符号的错误。
 */

#include "preproc_extern.h"
#include "preproc.h"

#define PG_KEYWORD(kwname, value, category, collabel) value,

const uint16 SQLScanKeywordTokens[] = {
#include "parser/kwlist.h"
};

#undef PG_KEYWORD
